html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  background-color: #eee;
  display: flex;
  justify-content: center;
  align-items: center;
}
#calculator {
  width: 400px;
  display: flex;
  flex-wrap: wrap;
  background-color: #eee;
  box-shadow: -8px -8px 16px -10px #fff, 8px 8px 16px -10px rgba(0,0,0,0.15);
  padding: 24px;
  border-radius: 20px;
}
#calculator .cal-output {
  box-sizing: border-box;
  flex-basis: 400px;
  height: 80px;
  line-height: 80px;
  font-size: 48px;
  font-family: Helvetica;
  padding: 0 20px;
  color: #666;
  text-align: right;
}
#calculator .cal-button {
  height: 80px;
  flex: 1 0 80px;
  font-size: 24px;
  margin: 8px;
  display: block;
  border: 0;
  background: linear-gradient(135deg, #e6e6e6 0%, #f6f6f6 100%);
  box-shadow: -4px -4px 10px -8px #fff, 4px 4px 10px -8px #000;
  outline: none;
  border-radius: 50%;
  color: #999;
  font-family: Helvetica, sans-serif;
}
#calculator .cal-button:active {
  box-shadow: -4px -4px 10px -8px #fff inset, 4px 4px 10px -8px #000 inset;
}
#calculator .cal-button-zero {
  flex: 2 0 160px;
  margin: 8px 16px;
}
